Software-based intelligent agents may be used to retrieve recommendations for restaurants and other activities. In such a case, a user of a handheld device may speak or type a request that is captured and processed by an intelligent agent running on the handheld device, wherein the agent may use hidden selection criteria to generate a recommendation in response to the request.